// AAA.cpp : implementation file
//

#include "stdafx.h"
#include "MFCDisp.h"
#include "AAA.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAAA

IMPLEMENT_DYNCREATE(CAAA, CCmdTarget)

CAAA::CAAA()
{
	EnableAutomation();
	
	// To keep the application running as long as an OLE automation 
	//	object is active, the constructor calls AfxOleLockApp.
	
	AfxOleLockApp();
}

CAAA::~CAAA()
{
	// To terminate the application when all objects created with
	// 	with OLE automation, the destructor calls AfxOleUnlockApp.
	
	AfxOleUnlockApp();
}


void CAAA::OnFinalRelease()
{
	// When the last reference for an automation object is released
	// OnFinalRelease is called.  The base class will automatically
	// deletes the object.  Add additional cleanup required for your
	// object before calling the base class.

	CCmdTarget::OnFinalRelease();
}


BEGIN_MESSAGE_MAP(CAAA, CCmdTarget)
	//{{AFX_MSG_MAP(CAAA)
		// NOTE - the ClassWizard will add and remove mapping macros here.
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

BEGIN_DISPATCH_MAP(CAAA, CCmdTarget)
	//{{AFX_DISPATCH_MAP(CAAA)
	DISP_PROPERTY_EX(CAAA, "BBB", GetBBB, SetBBB, VT_DISPATCH)
	//}}AFX_DISPATCH_MAP
END_DISPATCH_MAP()

// Note: we add support for IID_IAAA to support typesafe binding
//  from VBA.  This IID must match the GUID that is attached to the 
//  dispinterface in the .ODL file.

// {29C1DFB0-3EE7-4D44-B2BA-060F7C3899FD}
static const IID IID_IAAA =
{ 0x29c1dfb0, 0x3ee7, 0x4d44, { 0xb2, 0xba, 0x6, 0xf, 0x7c, 0x38, 0x99, 0xfd } };

BEGIN_INTERFACE_MAP(CAAA, CCmdTarget)
	INTERFACE_PART(CAAA, IID_IAAA, Dispatch)
END_INTERFACE_MAP()

// {73A97AD5-903D-4A6D-91C6-75D1E196C385}
IMPLEMENT_OLECREATE(CAAA, "MFCDisp.AAA", 0x73a97ad5, 0x903d, 0x4a6d, 0x91, 0xc6, 0x75, 0xd1, 0xe1, 0x96, 0xc3, 0x85)

/////////////////////////////////////////////////////////////////////////////
// CAAA message handlers

LPDISPATCH CAAA::GetBBB() 
{
	// TODO: Add your property handler here

	return m_bbb.GetIDispatch(TRUE);
}

void CAAA::SetBBB(LPDISPATCH newValue) 
{
	// TODO: Add your property handler here
	SetNotSupported();
}
